package com.itheima.tlias84.config;

import com.aliyun.oss.OSS;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Component;

import java.io.InputStream;
import java.util.UUID;

/**
 * 阿里云OSS客户端
 */
@Component
public class OssClient {

    @Resource
    OSS ossBean;

    @Resource
    AliyunOssConfig ossConfig;

    /**
     * 阿里云上传文件方法
     * @param fileName 文件名
     * @param inputStream 文件输入流对象
     * @return 上传成功后的文件访问阿里云Oss的URL地址
     */
    public String upload(String fileName, InputStream inputStream) {

        //拆分文件后缀
        String suffix = fileName.substring(fileName.lastIndexOf("."));
        //生成不重复UUID
        String uuid = UUID.randomUUID().toString();
        //填写Object完整路径，完整路径中不能包含Bucket名称，例如exampleDir/exampleObject.txt。
        String objectName = uuid + suffix;


        ossBean.putObject(ossConfig.getBucketName(), objectName, inputStream);
        String url = ossConfig.getUrl() + objectName;
        return url;
    }
}
